SELECT * FROM (
    SELECT 
        c.name AS customer_name, 
        i.name AS item_name, 
        h.profit, 
        h.roi, 
        h.date,
        RANK() OVER (ORDER BY h.profit DESC) as rank_profit,
        RANK() OVER (ORDER BY h.roi DESC) as rank_roi,
        RANK() OVER (ORDER BY h.date DESC) as rank_rotation
    FROM item_customer_behaivor_history h
    JOIN customer c ON h.customer_id = c.id
    JOIN item i ON h.item_id = i.id
) as ranked_data
WHERE rank_profit <= 10 
   OR rank_roi <= 10 
   OR rank_rotation <= 10
ORDER BY rank_profit ASC, rank_roi ASC LIMIT 10;